<template>
  <div>
    <a-card class="info" title="入职申请单">
      <template slot="extra">
        <!--<template v-if="model.bpmStatus==='1'">
          <a-button
                  class="ruleButton"
                  :ghost="true"
                  type="primary"
                  icon="edit"
                  @click="handleEdit(model)"
                  :disabled="isDisabledAuth('erpHrInductionBill:edit')"
          />
          <a-divider type="vertical"/>
          <a-button type="primary" size="small" @click="startProcess(model)" :disabled="isDisabledAuth('erpHrInductionBill:startProcess')">发起流程</a-button>
        </template>
        <template v-if="showBtn(model.bpmStatus)&& doCount > 0">
          <span v-if="model.taskUrge">
            <a-icon title="催办提醒" theme="twoTone" twoToneColor="#eb2f96"
                    @click="taskNotifyMe(flowCode,model.id)" type="notification"/>
            <a-divider type="vertical"/>
          </span>

          <a-button type="primary" size="small" @click="handleProcess(model)">办理</a-button>
          <a-divider type="vertical"/>
        </template>
        <template v-if="myCount > 0 && showBtn(model.bpmStatus)">
          <a-button type="primary" size="small" @click="taskNotify(flowCode,model.id)">催办</a-button>
          <a-divider type="vertical"/>
          <a-popconfirm title="确定要作废吗?" @confirm="() => invalidProcess(model)">
            <a-button type="primary" size="small" :disabled="isDisabledAuth('erpHrInductionBill:invalidProcess')">
              作废流程
            </a-button>
          </a-popconfirm>
          <a-divider type="vertical"/>
        </template>-->
        <template v-if="model.bpmStatus !== '1'">
          <a-button type="primary" size="small" @click="handleTrack(model)" :disabled="isDisabledAuth('erpHrInductionBill:viewTrack')">审批进度</a-button>
        </template>
      </template>
      <!-- <biz-his-task-module ref="bizHisTask" :formData="formData">  -->
      <div>
        <a-row type="flex" justify="center" >
          <a-col :span="24">
            <erp-hr-induction-bill-form ref="realForm" :disabled="true" normal></erp-hr-induction-bill-form>
          </a-col>
          <a-col :span="24" v-if="model.offerStatus=='1'">
            <a-collapse v-model="activeKey">
              <a-collapse-panel key="3" header="Offer信息">
                <a-form :form="model" style="padding-top: 20px">
                  <a-form-item
                    :labelCol="labelCol"
                    :wrapperCol="wrapperCol"
                    label="收件邮箱">
                    <a-input placeholder="请输入收件邮箱" v-model="model.email" disabled></a-input>
                  </a-form-item>
                  <a-form-item
                    :labelCol="labelCol"
                    :wrapperCol="wrapperCol"
                    label="标题">
                    <a-textarea placeholder="请输入标题" :row="1" v-model="model.emailTitle" disabled/>
                  </a-form-item>
                  <a-form-item
                    :labelCol="labelCol"
                    :wrapperCol="wrapperCol"
                    label="内容">
                    <j-editor
                      v-if="!editorPreview"
                      v-model="model.content"
                      ref="editor"
                      style="width: 100%;"
                      disabled>
                    </j-editor>
                    <div v-else v-html="model.content"></div>
                  </a-form-item>
                </a-form>
              </a-collapse-panel>
            </a-collapse>
          </a-col>
        </a-row>
        <!-- 流程历史跟踪 -->
        <common-flow-list v-if="model.bpmStatus !== '1'" :formData="formData"></common-flow-list>
      </div>

      <!-- </biz-his-task-module> -->
      <erp-hr-induction-bill-modal ref="modalForm" @ok="modalFormOk"></erp-hr-induction-bill-modal>
      <bpm-biz-task-deal-modal
        ref="taskDealModal"
        :path="path"
        :formData="formData"
        @ok="handleOk"></bpm-biz-task-deal-modal>
      <bpm-process-track-modal ref="bpmProcessTrackModal"></bpm-process-track-modal>
      <biz-task-notify-modal ref="taskNotifyModal"></biz-task-notify-modal>
      <biz-task-notify-me-modal ref="taskNotifyMeModal"></biz-task-notify-me-modal>
    </a-card>
    <div style="text-align: center;margin-top: 15px;">
      <a-button v-print="'#printContent'" type="primary" @click="doPrint">打印</a-button>
    </div>
    <ErpHrInductionBillFormPrint class="print_style" id="printContent" :formData="model" :formDataHistory="formData"></ErpHrInductionBillFormPrint>
  </div>
</template>

<script>

  import { getAction, postAction } from '@/api/manage'
  import { JeecgBpmListMixin } from '@/mixins/JeecgBpmListMixin'
  import BizHisTaskModule from '@/views/modules/bpmbiz/common/BizHisTaskModule.vue';
  import BpmBizTaskDealModal from '@/views/modules/bpmbiz/common/BpmBizTaskDealModal.vue';
  import BpmProcessTrackModal from '@/views/modules/bpmbiz/common/BpmProcessTrackModal.vue';
  import BizTaskNotifyModal from '@/views/modules/bpmbiz/common/BizTaskNotifyModal.vue';
  import BizTaskNotifyMeModal from '@/views/modules/bpmbiz/common/BizTaskNotifyMeModal.vue';
  import ErpHrInductionBillForm from './modules/ErpHrInductionBillForm'
  import ErpHrInductionBillModal from './modules/ErpHrInductionBillModal'
  import ErpHrInductionBillFormPrint from './modules/ErpHrInductionBillFormPrint' // 打印组件
  import { DisabledAuthFilterMixin } from '@/mixins/DisabledAuthFilterMixin'
  import moment from 'moment'
  import JUpload from '@/components/jeecg/JUpload'
  import JEditor from '@/components/jeecg/JEditor.vue';
  import { mapMutations, mapState } from 'vuex'
  import CommonFlowList from '@/views/components/CommonFlowList.vue' // 审批历史流程列表组件

  export default {
    name: 'ErpHrInductionBillDetail',
    mixins: [JeecgBpmListMixin, DisabledAuthFilterMixin],
    components: {
     ErpHrInductionBillForm,
     ErpHrInductionBillModal,
     BizHisTaskModule,
     BpmBizTaskDealModal,
     BpmProcessTrackModal,
     BizTaskNotifyModal,
     BizTaskNotifyMeModal,
     JUpload,
     JEditor,
     CommonFlowList,
     ErpHrInductionBillFormPrint
    },
    data () {
      return {
        activeKey: ['3'],
        labelCol: {},
        wrapperCol: {
          xs: { span: 24 },
          sm: { span: 24 }
        },
        model: {},
        id: '',
        url: {
          queryById: '/api/erp/hr/induction/erpHrInductionBill/queryById',
          delete: '/api/erp/hr/induction/erpHrInductionBill/delete',
          bizCount: '/api/erp/hr/induction/erpHrInductionBill/bizCount'
        },
        confirmLoading: false,
        iconStyle: { 'font-size': '20px' },
        // 代码生成后需手动设置流程编码
        flowCode: 'onl_erp_hr_induction_bill',
        formUrl: 'erp/hr/induction/modules/ErpHrInductionBillForm',
        formUrlMobile: ''
      }
    },
    created() {
    },
    computed: {
      ...mapState({ editorPreview: state => state.app.editorPreview })
    },
    watch: {
      $route(to, from) {
        this.loadData();
      }
    },
    mounted() {
    },
    methods: {
      ...mapMutations(['SET_EDITOR_PREVIEW']),
      doPrint() {
        this.SET_EDITOR_PREVIEW(true)
      },
      loadData() {
        const id = this.$route.params.id;
        getAction(this.url.queryById, { id }).then((res) => {
          if (res.success) {
            const model = res.result
            this.$refs.realForm.edit(model);
            this.model = model;
            // 查询催办
            let params1 = { flowCode: this.flowCode, dataId: id };// 查询条件
            getAction(this.url.checkNotify, params1).then((res2) => {
              if (res2.result) {
                this.model.taskUrge = true;
              }
            })
            // 查询流程
            let params = { flowCode: this.flowCode, dataId: this.model.id };// 查询条件
            this.viewTrack(params);
          }
        })
        this.bizCountById(id);
      }
    }
  }
</script>
<style lang="less" scoped>
@import '~@assets/less/common.less';

.info {
  /deep/ .ant-card-head-title{
    flex: none;
    margin-right: 20px;
  }
  /deep/ .ant-card-extra{
    flex: 1;
    float: left;
  }
}
.print_style{
  position: absolute;
  top: 0;
  z-index: -1111;
}
</style>
